package com.mh.www.mh_frame.view.fragment;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

import butterknife.ButterKnife;
import butterknife.Unbinder;

/**
 * Created by WHH on 2018/1/2.
 */

public abstract class BaseFragment extends Fragment {
    private Unbinder unbinder;
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View layout = View.inflate(getContext(),getLayoutID(),null);
        unbinder = ButterKnife.bind(this, layout);
        initFragment();

        return layout;

    }
    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        initView();
    }

    /**
     *  @创建时间:  2016-9-23  12:28
     *  @描述：    加载布局XML布局ID
     */
    protected abstract int getLayoutID();

    /**
     *  @创建时间:  2016-9-23  12:29
     *  @描述：    在这里做fragment的初始化工作
     */
    protected abstract void initFragment();

    /**
     *  @创建时间:  2016-9-23  12:29
     *  @描述：    在这里进行视图操作
     */
    protected void initView() {

    }

    /**
     *  @创建时间:  2016-9-23  12:31
     *  @描述：    吐司方法
     *  @param message 消息
     */
    public void showToast(String message){
        Toast.makeText(getContext(),message,Toast.LENGTH_SHORT).show();
    }

    /**
     *  @创建时间:  2016-9-23  12:31
     *  @描述：    页面跳转
     *  @param cls 要跳转的activity.class
     */
    public void goTo(Class cls){
        startActivity(new Intent(getContext(),cls));
    }
    @Override
    public void onDestroyView() {
        if (unbinder!=null) {
            unbinder.unbind();
        }
        super.onDestroyView();
        //Activity销毁时，取消网络请求
    }
}
